SEARCH KEYWORD -- API Writing
Tricks with Direct Memory Access in Java
Java was initially designed as a safe managed environment. Nevertheless, Java HotSpot VM contains a “backdoor†that provides a number of low-level operations to manipulate memory and threads directly. This backdoor – sun.misc.Unsafe – is widely used by JDK itself in packages like java.nio or java.util.concurrent. It is hard to imagine a Java developer that uses this backdoor in any regular development because this API is extremely dangerous...
Java,Directly memory access,Tricks,JVM 2012-02-13 05:31:19
Consistency between Redis Cache and SQL Database
Nowadays, Redis has become one of the most popular cache solution in the Internet industry. Although relational database systems (SQL) bring many awesome properties such as ACID, the performance of the database would degrade under high load in order to maintain these properties. In order to fix this problem, many companies & websites have decided to add a cache layer between the application layer (i.e., the backend code which handles the business logic) and the storage layer (i.e., the SQL d...
Python object creation sequence
[The Python version described in this article is 3.x] This article aims to explore the process of creating new objects in Python. As I explained in a previous article, object creation is just a special case of calling a callable. Consider this Python code: class Joe: pass j = Joe() What happens when j = Joe() is executed? Python sees it as a call to the callable Joe, and routes it to the internal function PyObject_Call, with Joe passed as the first argument. PyObject_Call looks at the ty...
Python,Object creation 2012-04-16 15:03:55
How Query Optimizer Works in RDBMS
In a previous post, we discussed how the various relational operators are implemented in relational database systems. If you have read that post, you probably still remember that there are a few alternative implementations for every operator. Thus, how should RDBMS determine which algorithm (or implementation) to use? Obviously, to optimize the performance for any query, RDBMS has to select the correct the algorithm based on the query. It would not be desirable to always use the same algori...
DATABASE,DATABASE DESIGN,DATABASE OPTIMIZATION 2019-04-20 07:26:32
Why programmers work at night
A popular saying goes that Programmers are machines that turn caffeine into code. And sure enough, ask a random programmer when they do their best work and there’s a high chance they will admit to a lot of late nights. Some earlier, some later. A popular trend is to get up at 4am and get some work done before the day’s craziness begins. Others like going to bed at 4am. At the gist of all this is avoiding distractions. But you could just lock the door, what’s so special a...
Programmer,Sleep,Later,Efficiency,Habit 2011-12-16 10:13:27
Can Your Programming Language Do This?
One day, you're browsing through your code, and you notice two big blocks that look almost exactly the same. In fact, they're exactly the same, except that one block refers to "Spaghetti" and one block refers to "Chocolate Moose." // A trivial example: alert("I'd like some Spaghetti!"); alert("I'd like some Chocolate Moose!"); These examples happen to be in JavaScript, but even if you don't know JavaScript, you should be able to follow along. The repeated code looks wrong, ...
Programming,Maintainability,Reusable 2011-05-31 07:42:41
A simple tutorial on GoLang connecting to Clickhouse
Go, also known as Golang, is a statically-typed, concurrent programming language created by Google. ClickHouse is a high-performance, column-oriented database management system that can be used for real-time data analysis. This tutorial will provide a deep dive into how to connect to ClickHouse from a Go program, including how to perform common database operations such as SELECT and INSERT statements. Before proceeding, it is assumed that you already have Go and ClickHouse installed on your mach...
GOLANG,CLICKHOUSE,TUTORIAL 2023-02-11 07:05:36
ECMAScript 5 Objects and Properties
ECMAScript 5 is on its way. Rising from the ashes of ECMAScript 4, which got scaled way back and became ECMAScript 3.1, which was then re-named ECMAScript 5 (more details)- comes a new layer of functionality built on top of our lovable ECMAScript 3. Update: I've posted more details on ECMAScript 5 Strict Mode, JSON, and More. There are a few new APIs included in the specification but the most interesting functionality comes into play in the Object/Property code. This new code gives you th...
ECMAScript,Object,Property 2012-01-29 04:38:50
Most Pressed Keys and Programming Syntaxes
I switch between programming languages quite a bit; I often wondered what happens when having to deal with the different syntaxes, does the syntax allow you to be more expressive or faster at coding in one language or another. I dont really know about that; but what I do know what keys are pressed when writing with different programming languages. This might be something interesting for people who are deciding to select a programming language might look into, here is a post on the...
Keyboard,Programming language,Hottest ke 2011-09-23 13:10:10
When to use STDERR instead of STDOUT
Every process is initialized with three open file descriptors, stdin, stdout, and stderr. stdin is an abstraction for accepting input (from the keyboard or from pipes) and stdout is an abstraction for giving output (to a file, to a pipe, to a console). That's a very simplified explanation but true nonetheless. Those three file descriptors are collectively called 'The Standard Streams'. Where does stderr come from? It's fairly straightforward to understand why stdin and stdout exist, however ...
UNIX,STDERR,STDOUT,Difference 2012-01-14 12:07:43
RECENT
- Common Pitfalls When Handling JSON in Golang
- Streamlining the Project Invoicing Process: Tools and Strategies
- Performance comparison of string concatenation in Go language
- Why init() is not recommended in Go
- The Role of Coding Skills in Advancing Tech Careers
- Tips for Socializing With Friends During College
- Proximity Cards Do More Than Just Open Doors
- How to choose quality painted auto parts
- Oval engagement rings from MoonOcean: Elegance of form and individual approach
- Hologres vs AWS Redshift
- more>>